// 案件相关类型定义

// 案件接口
export interface LawCase {
  id: number
  case_code: string
  case_name?: string
  case_cause_name?: string
  case_cause_id?: number
  court_name: string
  main_lawyer_name: string
  secondary_lawyer_name: string
  session_lawyer_name?: string
  client_info: string
  opponent_info: string
  status: string
  type: number
  stage: number
  session_court_name: string
  session_time: string
  entrust_date: string
  create_time: string | number
  update_time: string | number
  contract_id?: number
  session_lawyer?: number
  is_suspended?: number // 案件挂起状态：0-正常状态，1-挂起状态
  // 其他可能的字段
  [key: string]: any
}

// 案件当事人接口
export interface Party {
  id: number
  name: string
  party_name: string
  partyName: string // 兼容驼峰命名
  party_type: number
  partyType: number // 兼容驼峰命名
  party_type_name: string
  is_client: number
  is_client_text: string
  relationship: string
  relationship_text: string
  id_number: string
  idNumber: string // 兼容驼峰命名
  phone: string
  contactPhone: string // 兼容驼峰命名
  contact: string
  contactPerson: string // 兼容驼峰命名

  // 以下为CaseParties.vue中需要的属性
  case_id: number
  party_id: number
  create_time: string | number
  update_time?: string | number
  delete_time?: string | number
  address?: string
  // 允许其他字段
  [key: string]: any
}

// 案件中的律师接口，从律师类型导入或重命名避免冲突
export interface CaseLawyer {
  id: number
  lawyer_id: number
  lawyer_name: string
  lawfirm_name: string
  is_main: number
  duty?: string
}

// 案件进度接口
export interface Progress {
  id: number
  case_id: number
  event_type: string
  event_time: string // 后端返回格式化后的日期字符串 Y-m-d
  content: string
  deadline: string // 相关期限，格式化后的日期字符串 Y-m-d
  attachment_ids?: string
  operator: number
  operator_name: string
  comfirm_uid?: number
  create_time: string // 后端返回格式化后的时间字符串 Y-m-d H:i
  update_time: string // 后端返回格式化后的时间字符串 Y-m-d H:i
  delete_time?: number
  case_code?: string // join查询带出的案件编号
  attachments?: any[] // 附件信息
}

// 案件文档接口
export interface CaseDoc {
  id: number
  case_id: number
  title: string
  doc_type: number
  doc_type_name?: string // 添加文档类型名称字段
  doc_type_text: string
  file_path: string
  file_name: string
  file_size: number
  uploader: string
  upload_user?: string // 添加上传用户字段
  create_time: string
  update_time: string
  file_ids?: string
  file_array?: any[]
}
